home *** CD-ROM | disk | FTP | other *** search
/ Run Magazine ReRun 1992 November & December / rerun-1992-11-12.d64 / silicon cobbler (.txt) < prev    next >
Commodore BASIC  |  2022-09-20  |  4KB  |  118 lines

  1. 10 rem:         silicon cobbler
  2. 20 rem:       program boot maker
  3. 30 rem:         by: r. markland
  4. 40 :
  5. 50 print"[147]":poke53280,2:poke53281,7
  6. 60 printchr$(142)chr$(8):poke53280,2:poke53281,7:dimc$(15):poke788,52
  7. 70 forr=0to15:readju$:next:forr=1to125:readdt:ck=ck+dt:next
  8. 80 ifck<>15188thenprint"[144]        error in numerical data":stop
  9. 90 ml$="":restore:forr=0to15:readc$(r):next
  10. 100 bl$="":forr=1to39:bl$=bl$+" ":next
  11. 110 print"[147][144]"tab(12)"silicon cobbler":printtab(11)"program boot maker"
  12. 120 printtab(12)"by: r. markland":printtab(13)"(c)1992 - run"
  13. 130 forr=1to24:readdt:ml$=ml$+chr$(dt):next:gosub830
  14. 140 gosub830:print"    select border color during load":printtab(16)"(0-15)"
  15. 150 tb=18:nt=0:le=2:gosub850:bc=val(tp$):ifbc>15thengosub830:goto140
  16. 160 ml$=ml$+chr$(bc):gosub820
  17. 170 forr=1to4:readdt:ml$=ml$+chr$(dt):next
  18. 180 gosub830:print"    select screen color during load":printtab(16)"(0-15)"
  19. 190 tb=18:nt=0:le=2:gosub850:sc=val(tp$):ifsc>15thengosub830:goto180
  20. 200 ml$=ml$+chr$(sc):gosub820
  21. 210 forr=1to4:readdt:ml$=ml$+chr$(dt):next
  22. 220 gosub830:print"   select character color during load":printtab(16)"(0-15)"
  23. 230 tb=18:nt=0:le=2:gosub850:cl=val(tp$):ifcl>15thengosub830:goto220
  24. 240 ml$=ml$+chr$(cl):gosub820
  25. 250 forr=1to33:readdt:ml$=ml$+chr$(dt):next
  26. 260 gosub830:printtab(9)"enter name of program"                 
  27. 270 printtab(11)"to be loaded/run:":printtab(11)"(1-16 characters)"
  28. 280 tb=12:nt=1:le=16:gosub850:na$=tp$:ml$=ml$+chr$(len(na$)):gosub820
  29. 290 forr=1to31:readdt:ml$=ml$+chr$(dt):next
  30. 300 gosub830:printtab(8)"enter necessary command"
  31. 310 printtab(10)"to activate program":printtab(11)"you wish to boot:"
  32. 320 printtab(8)"(e.g. run or sys49152)"
  33. 330 tb=12:nt=1:le=8:gosub850:cm$=tp$:ml$=ml$+chr$(len(cm$)):gosub820
  34. 340 forr=1to10:readdt:ml$=ml$+chr$(dt):next
  35. 350 ml$=ml$+chr$(len(cm$)+1):forr=1to11:readdt:ml$=ml$+chr$(dt):next
  36. 360 gosub830:print" select character color following load"
  37. 370 printtab(16)"(0-15)"
  38. 380 tb=18:nt=0:le=2:gosub850:cp=val(tp$):ifcp>15thengosub830:goto360
  39. 390 gosub820:ml$=ml$+chr$(cp):forr=1to8:readdt:ml$=ml$+chr$(dt):next
  40. 400 ml$=ml$+"loading, please wait...."+chr$(0)
  41. 410 forr=1tolen(na$):ml$=ml$+mid$(na$,r,1):next:iflen(na$)=16then430
  42. 420 forr=len(na$)+1to16:ml$=ml$+chr$(234):next
  43. 430 forr=1tolen(cm$):ml$=ml$+mid$(cm$,r,1):next:ml$=ml$+chr$(13)
  44. 440 gosub830:printtab(11)"enter a file name"
  45. 450 printtab(11)"for this autoboot:":printtab(11)"(1-16 characters)"
  46. 460 tb=12:nt=1:le=16:gosub850:ln$=tp$:gosub820
  47. 470 gosub830:printtab(2)"border color is:"tab(38-len(c$(bc)))c$(bc)
  48. 480 printtab(2)"screen color is:"tab(38-len(c$(sc)))c$(sc)
  49. 490 printtab(2)"load chr color is:"tab(38-len(c$(cl)))c$(cl)
  50. 500 printtab(2)"program to boot is:"tab(38-len(na$))na$
  51. 510 printtab(2)"cmd to activate is:"tab(38-len(cm$))cm$
  52. 520 printtab(2)"prog chr color is:"tab(38-len(c$(cp)))c$(cp)
  53. 530 printtab(2)"autoboot name is:"tab(38-len(ln$))ln$
  54. 540 printtab(7)"please review your choices":printtab(15)"then press"
  55. 550 print" (c) to continue -/- (s) to start over"
  56. 560 getd$:ifd$=""then560
  57. 570 ifd$="s"then90
  58. 580 ifd$<>"c"then560
  59. 590 gosub830:printtab(8)"insert destination disk":printtab(15)"then press"
  60. 600 printtab(7)"any key to create autoboot":poke198,0
  61. 610 getd$:ifd$=""then610
  62. 620 gosub830:printtab(8)"working, please wait...."
  63. 630 open15,8,15,"i0:":open8,8,8,"0:"+ln$+",p,r":close8:fl=0:gosub960
  64. 640 ifflthen470
  65. 650 open15,8,15:open8,8,8,"0:"+ln$+",p,w":close8:fl=0:gosub960
  66. 660 ifflthen470
  67. 670 ife1<>63then740
  68. 680 gosub830:ms$="file "+chr$(34)+ln$+chr$(34)+" already exists"
  69. 690 printtab((40-(len(ms$)))/2)ms$
  70. 700 printtab(13)"overwrite it?":printtab(16)"y -/- n"
  71. 710 getd$:ifd$=""then710
  72. 720 ifd$="n"then440
  73. 730 ifd$<>"y"then710
  74. 740 open15,8,15,"i0:":print#15,"s0:"+ln$:close15
  75. 750 open8,8,8,"o:"+ln$+",p,w":print#8,ml$:close8:close15
  76. 760 gosub830:print"  autoboot completed, do you wish to:"
  77. 770 printtab(10)"1.  create another?":printtab(10)"2.  quit?"
  78. 780 getd$:ifd$=""then780
  79. 790 ifd$="1"then90
  80. 800 ifd$<>"2"then780
  81. 810 print"[147]":poke646,14:poke647,14:poke53280,14:poke53281,6:end
  82. 820 : print:printtab(16)"entered":fort=1to1000:next
  83. 830 : print"":forr=1to16:printbl$:next:print""
  84. 840 return
  85. 850 poke198,0:printtab(tb);:poke204,0:tp$=""
  86. 860 poke647,peek(646):getki$:ifki$=""then860
  87. 870 ifki$=chr$(34)then860
  88. 880 ifki$=chr$(13)andlen(tp$)>0thenprint" ";:poke204,1:return
  89. 890 ifki$=chr$(20)andlen(tp$)>0thentp$=left$(tp$,len(tp$)-1):goto950
  90. 900 ifki$=>chr$(48)andki$=<chr$(57)then930
  91. 910 ifntthenifki$=>chr$(32)andki$=<chr$(90)then930
  92. 920 goto860
  93. 930 iflen(tp$)=(le)then860
  94. 940 tp$=tp$+ki$
  95. 950 printki$;:goto860
  96. 960 input#15,e1,er$,e2,e3
  97. 970 ife1=0ore1=62ore1=63thenclose15:return
  98. 980 close15:fl=1
  99. 990 gosub830:printtab(9)"* * * disk error * * *"
  100. 1000 printtab(10)"";e1;er$;e2;e3
  101. 1010 printtab(3)"check disk & drive, then try again"
  102. 1020 printtab(7)"press any key to continue"
  103. 1030 getd$:ifd$=""then1030
  104. 1040 return
  105. 1050 data black,white,red,cyan,purple,green,blue,yellow,orange,brown,light red
  106. 1060 data dark gray,medium gray,light green,light blue,light gray
  107. 1070 data 44,3,60,3,102,254,165,244,237,245,0,0,0,0,0,0,0,0
  108. 1080 data 169,147,32,210,255,169
  109. 1090 data 141,32,208,169
  110. 1100 data 141,33,208,169
  111. 1110 data 141,134,2,32,138,255,32,231,255,160,0,24,162,12,160,8,32,240,255
  112. 1120 data 160,0,185,174,3,240,6,32,210,255,200,208,245,169
  113. 1130 data 162,199,160,3,32,189,255,169,1,168,162,8,32,186,255,173,33,208
  114. 1140 data 141,134,2,169,0,32,213,255,134,45,132,46,160
  115. 1150 data 185,215,3,153,119,2,136,16,247,169
  116. 1160 data 133,198,32,94,166,169,147,32,210,255,169
  117. 1170 data 141,134,2,162,128,108,2,3
  118.